<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>深拷贝</title>
</head>
<body>
<h3>深拷贝</h3>
<p>
    深拷贝：拷贝的是对象，不是地址 <br>
    常见方法： <br>
    1. 通过递归实现深拷贝 <br>
    2. lodash/cloneDeep (库)<br>
    3. 通过JSON.stringify()实现 (JSON转换, 但是不能转换方法)
</p>
<hr>

<p>
    函数递归： <br>
    如果一个函数在内部可以调用其本身，那么这个函数就是递归函数 <br>
     简单理解:函数内部自己调用自己, 这个函数就是递归函数 <br>
     递归函数的作用和循环效果类似 <br>
     由于递归很容易发生“栈溢出”错误（stack overflow），所以必须要加退出条件 return
</p>

<script>
    // ---- 递归 演示 -------
    let i = 1
    function 函数() {
      console.log(`这是第${i}次`)
      if (i >= 6) {
        return // 结束条件和return, 必须加, 否则回死循环
      }
      i++
      函数() // 函数内部调用自己
    }

    // 调用 函数
    函数()
</script>
</body>
</html>